Create a separate page for contributors#956
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughCreates a new top-level "Contribute" documentation section: adds DocForge manifests, VitePress routing/sidebar, a CardGrid component and styles, moves contributor-facing pages into ChangesContribute documentation + theme
Sequence Diagram(s)sequenceDiagram
participant Editor as Editor (author)
participant FS as Filesystem (website/, .docforge/, .vitepress/)
participant VitePress as VitePress dev server
participant DocForge as DocForge build
participant Browser as Browser/Reader
Editor->>FS: add `.docforge/contribute.yaml`, `website/contribute/*`, CardGrid, theme changes
FS->>DocForge: DocForge reads manifests (including new contribute.yaml)
FS->>VitePress: VitePress loads config.mts and contributeSidebar()
VitePress->>FS: contributeSidebar() checks `hugo/content/contribute` presence
VitePress->>Browser: serve `/contribute/` route and sidebar
Browser->>VitePress: request `/contribute/` page
VitePress->>FS: render `website/contribute/_index.md` using CardGrid component
VitePress->>Browser: deliver rendered HTML/CSS (includes `.action-button`)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Deploy Preview for gardener-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
.vitepress/theme/style.css (1)
13-15: Add an explicit keyboard focus state for action buttons.You already style hover; adding
:focus-visiblekeeps keyboard navigation feedback consistent.♿ Suggested enhancement
a.action-button:hover { background-color: var(--vp-button-brand-hover-bg); } + +a.action-button:focus-visible { + background-color: var(--vp-button-brand-hover-bg); + outline: 2px solid var(--vp-c-brand-1); + outline-offset: 2px; +}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.vitepress/theme/style.css around lines 13 - 15, Add an explicit keyboard focus state for the action buttons by adding a corresponding a.action-button:focus-visible rule (matching the existing a.action-button:hover styling) so keyboard users see the same feedback as hover; update the CSS to define background-color: var(--vp-button-brand-hover-bg) (and any outline or box-shadow if needed for accessibility) for the a.action-button:focus-visible selector to keep hover and keyboard focus consistent.website/contribute/_index.md (1)
17-58: Use root-relative links for internal destinations.These are internal docs routes, but they’re hardcoded to
https://gardener.cloud/.... Prefer/contribute/...links to keep previews/base-path deployments and local navigation behavior consistent.♻️ Proposed refactor
- link: 'https://gardener.cloud/contribute/contribution-process/how-to-contribute' + link: '/contribute/contribution-process/how-to-contribute' @@ - link: 'https://gardener.cloud/contribute/developer-starter-kit/' + link: '/contribute/developer-starter-kit/' @@ - link: 'https://gardener.cloud/contribute/gardener/' + link: '/contribute/gardener/' @@ - link: 'https://gardener.cloud/contribute/extensions/' + link: '/contribute/extensions/' @@ - link: 'https://gardener.cloud/contribute/other-components/' + link: '/contribute/other-components/' @@ - link: 'https://gardener.cloud/contribute/dashboard/' + link: '/contribute/dashboard/' @@ - link: 'https://gardener.cloud/contribute/documentation/' + link: '/contribute/documentation/'🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/contribute/_index.md` around lines 17 - 58, Replace absolute gardener.cloud URLs with root-relative paths in the CardGrid :cards arrays so internal docs route links use '/contribute/...' instead of 'https://gardener.cloud/contribute/...'; update each card object in the CardGrid props (e.g., the entries for 'Contributor Guide', 'Developer Starter Kit', 'Gardener', 'Extensions', 'Other Components', 'Dashboard', and 'Documentation') to use root-relative link strings that begin with '/contribute/...'.website/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.md (1)
452-452: Prefer root-relative clean URLs for internal links.Line 452 uses deep relative links to
_index.md, which are fragile during future moves. Use route paths directly (/contribute/#...) for stability.♻️ Proposed refactor
-All channels for getting in touch or learning about the project are listed on our [landing page](../../../contribute/_index.md#community). We are cordially inviting interested parties to join our [bi-weekly meetings](../../../contribute/_index.md#bi-weekly-meetings). +All channels for getting in touch or learning about the project are listed on our [landing page](/contribute/#community). We are cordially inviting interested parties to join our [bi-weekly meetings](/contribute/#bi-weekly-meetings).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.md` at line 452, Replace the deep relative internal links "../../../contribute/_index.md#community" and "../../../contribute/_index.md#bi-weekly-meetings" in the paragraph in website/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.md with root‑relative route paths "/contribute/#community" and "/contribute/#bi-weekly-meetings" so the links remain stable if the file is moved; update both occurrences in the sentence referencing the landing page and bi-weekly meetings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.vitepress/theme/components/CardGrid.vue:
- Around line 21-24: The .card-grid rule currently uses a fixed
grid-template-columns: repeat(3, 1fr) which forces three columns on all
viewports; change it to a responsive column strategy by replacing the hard-coded
repeat(3, 1fr) with a responsive pattern (e.g., use repeat(auto-fit,
minmax(<minimum card width>, 1fr)) for grid-template-columns) and keep
grid-auto-rows as needed, and optionally add a small-screen media query to
further adjust min-width or switch to a single column for very narrow screens;
update the .card-grid declaration (grid-template-columns and optional media
query) so cards do not compress on small viewports.
In `@website/contribute/_index.md`:
- Line 3: Update the frontmatter description value: change the string bound to
the description key from "Contributors guides for code and documentation" to the
singular form "Contributor guides for code and documentation" so the description
uses "Contributor" instead of "Contributors".
---
Nitpick comments:
In @.vitepress/theme/style.css:
- Around line 13-15: Add an explicit keyboard focus state for the action buttons
by adding a corresponding a.action-button:focus-visible rule (matching the
existing a.action-button:hover styling) so keyboard users see the same feedback
as hover; update the CSS to define background-color:
var(--vp-button-brand-hover-bg) (and any outline or box-shadow if needed for
accessibility) for the a.action-button:focus-visible selector to keep hover and
keyboard focus consistent.
In `@website/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.md`:
- Line 452: Replace the deep relative internal links
"../../../contribute/_index.md#community" and
"../../../contribute/_index.md#bi-weekly-meetings" in the paragraph in
website/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.md with
root‑relative route paths "/contribute/#community" and
"/contribute/#bi-weekly-meetings" so the links remain stable if the file is
moved; update both occurrences in the sentence referencing the landing page and
bi-weekly meetings.
In `@website/contribute/_index.md`:
- Around line 17-58: Replace absolute gardener.cloud URLs with root-relative
paths in the CardGrid :cards arrays so internal docs route links use
'/contribute/...' instead of 'https://gardener.cloud/contribute/...'; update
each card object in the CardGrid props (e.g., the entries for 'Contributor
Guide', 'Developer Starter Kit', 'Gardener', 'Extensions', 'Other Components',
'Dashboard', and 'Documentation') to use root-relative link strings that begin
with '/contribute/...'.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ba383913-0e65-4c86-89ac-166a1edbc9d9
⛔ Files ignored due to path filters (1)
website/contribute/contribution-process/images/cicd-overview.pngis excluded by!**/*.png
📒 Files selected for processing (39)
.docforge/contribute.yaml.docforge/documentation/documentation.yaml.docforge/documentation/gardener-extensions/infrastructure.yaml.docforge/documentation/gardener-extensions/others.yaml.docforge/documentation/other-components.yaml.docforge/website.yaml.gitignore.vitepress/config.mts.vitepress/theme/components/CardGrid.vue.vitepress/theme/contribute-sidebar.ts.vitepress/theme/index.ts.vitepress/theme/style.csswebsite/blog/2023/03/03-27-high-availability-and-zone-outage-toleration.mdwebsite/contribute/_index.mdwebsite/contribute/contribution-process/_index.mdwebsite/contribute/contribution-process/contributing-bigger-changes.mdwebsite/contribute/contribution-process/how-to-contribute.mdwebsite/contribute/contribution-process/images/cicd-overview.sketchwebsite/contribute/contribution-process/roles.mdwebsite/contribute/developer-starter-kit/_index.mdwebsite/contribute/documentation/_index.mdwebsite/contribute/documentation/adding-existing-documentation.mdwebsite/contribute/documentation/blog-tags.mdwebsite/contribute/documentation/formatting-guide.mdwebsite/contribute/documentation/images.mdwebsite/contribute/documentation/markup.mdwebsite/contribute/documentation/organization.mdwebsite/contribute/documentation/pr-guidelines.mdwebsite/contribute/documentation/shortcodes.mdwebsite/contribute/documentation/style-guide/_index.mdwebsite/contribute/documentation/style-guide/concept_template.mdwebsite/contribute/documentation/style-guide/reference_template.mdwebsite/contribute/documentation/style-guide/task_template.mdwebsite/contribute/gardener/_index.mdwebsite/documentation/contribute/_index.mdwebsite/documentation/contribute/code/_index.mdwebsite/documentation/contribute/code/cicd.mdwebsite/documentation/contribute/code/dependencies.mdwebsite/documentation/contribute/documentation/_index.md
💤 Files with no reviewable changes (5)
- website/documentation/contribute/documentation/_index.md
- website/documentation/contribute/code/_index.md
- website/documentation/contribute/code/cicd.md
- website/documentation/contribute/code/dependencies.md
- website/documentation/contribute/_index.md
b6b45eb to
31e25fa
Compare
|
LGTM label has been added. DetailsGit tree hash: 1f8f8a26a368174425d50839ef0600fed5e0dfd8 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.vitepress/theme/components/CardGridGroup.vue (1)
6-21: ⚡ Quick winUse container/content-driven observation, not only
window.resize, for re-equalization.Line 16 only reacts to viewport resize. Card widths/heights can also change on layout/content updates without a resize event, leaving stale
min-heightvalues until the user resizes manually.♻️ Suggested patch
-<script setup lang="ts"> -import { ref, onMounted, onUnmounted } from 'vue' +<script setup lang="ts"> +import { ref, onMounted, onUnmounted, nextTick } from 'vue' const container = ref<HTMLElement | null>(null) +let resizeObserver: ResizeObserver | null = null +let rafId = 0 function equalizeCardHeights() { if (!container.value) return const cards = container.value.querySelectorAll<HTMLElement>('.card') + if (!cards.length) return cards.forEach(c => c.style.minHeight = '') const maxHeight = Math.max(...Array.from(cards).map(c => c.offsetHeight)) cards.forEach(c => c.style.minHeight = `${maxHeight}px`) } + +function scheduleEqualize() { + cancelAnimationFrame(rafId) + rafId = requestAnimationFrame(equalizeCardHeights) +} onMounted(() => { - equalizeCardHeights() - window.addEventListener('resize', equalizeCardHeights) + nextTick(scheduleEqualize) + window.addEventListener('resize', scheduleEqualize) + resizeObserver = new ResizeObserver(scheduleEqualize) + if (container.value) resizeObserver.observe(container.value) }) onUnmounted(() => { - window.removeEventListener('resize', equalizeCardHeights) + window.removeEventListener('resize', scheduleEqualize) + resizeObserver?.disconnect() + cancelAnimationFrame(rafId) }) </script>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.vitepress/theme/components/CardGridGroup.vue around lines 6 - 21, The component currently only re-equalizes in onMounted and on window.resize; update it to observe layout/content changes by creating a ResizeObserver (and optionally a MutationObserver) that watches container.value (and/or its child .card elements) and calls equalizeCardHeights on changes, while keeping the existing window resize handler; ensure both observers are created in onMounted and properly disconnected in onUnmounted alongside removing the window listener so equalizeCardHeights runs whenever card sizes or content change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.vitepress/theme/components/CardGridGroup.vue:
- Around line 6-21: The component currently only re-equalizes in onMounted and
on window.resize; update it to observe layout/content changes by creating a
ResizeObserver (and optionally a MutationObserver) that watches container.value
(and/or its child .card elements) and calls equalizeCardHeights on changes,
while keeping the existing window resize handler; ensure both observers are
created in onMounted and properly disconnected in onUnmounted alongside removing
the window listener so equalizeCardHeights runs whenever card sizes or content
change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ed124245-cd05-4b00-9887-10d95af3c8aa
📒 Files selected for processing (4)
.vitepress/theme/components/CardGrid.vue.vitepress/theme/components/CardGridGroup.vue.vitepress/theme/index.tswebsite/contribute/_index.md
✅ Files skipped from review due to trivial changes (2)
- website/contribute/_index.md
- .vitepress/theme/components/CardGrid.vue
🚧 Files skipped from review as they are similar to previous changes (1)
- .vitepress/theme/index.ts
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: klocke-io The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
LGTM label has been added. DetailsGit tree hash: 3f6145b8b17a600a6f3c11731e77fb99b3f79853 |
- Delete cicd.md from general-information
…o how-to-contribute
CSS Grid already handles equal-height cards per row via grid-auto-rows: 1fr in CardGrid.vue, making the JS approach redundant.
CardGrid already uses grid-auto-rows: 1fr which equalizes card heights. The CardGridGroup wrapper was a no-op after the CSS refactor.
d78afa7 to
3086f94
Compare
|
LGTM label has been added. DetailsGit tree hash: b24ff58bec4d6a6299158cc1078e96f1406fc6e2 |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
How to categorize this PR?
/kind enhancement
What this PR does / why we need it:
This PR introduces a new top-level "Contribute" section to the Gardener website.
The "Contribute" page is a work in progress and will be updated with future pull requests.
Which issue(s) this PR fixes:
Fixes #893
Special notes for your reviewer:
/cc @marc1404 @n-boshnakov @klocke-io
Summary by CodeRabbit
New Features
Documentation
Style